Tengo experiencia rudimentaria tanto en Angular 2 como en desarrollo NodeJS. Me disculpo si esta pregunta es demasiado simple por naturaleza.
Mi objetivo es crear una interfaz web que se conecte a una base de datos de SQL Server. Esta aplicación permitiría al usuario enviar fácilmente consultas y recibir resultados de la base de datos conectada desde la aplicación.
Buscando soluciones, decidí importar el módulo mssql en mi mssql-connection.service.ts después de instalarlo a través de npm. Planeaba usarlo en el servicio ya sea mediante inyección de dependencia o su sintaxis normal. Sin embargo, estoy experimentando un error al compilar en cada una de esas situaciones.
Primero, al tratar de usar el método DI escribiendo import { MSSQL } from 'mssql'; Recibo dos mensajes de error duplicados node_modules/@types/mssql/index"' has no exported member 'MSSQL'.
Segundo, en mi intento de remediar la situación como respuesta, escribo import 'mssql'; . Luego recibo un total de tres mensajes de error: recibo dos mensajes de error duplicados Can't resolve 'dns' in '...\node_modules\tedious\lib' y un mensaje de error Can't resolve 'dgram' in '...\node_modules\tedious\lib' También he intentado usar const sql = require('mssql'); pero esto me daría Cannot find name 'require'. mensaje de error, precedido por los mensajes de error anteriores.
¡Estoy perplejo y me gustaría saber por qué sucede esto! Me gustaría poder utilizar módulos externos libremente. También probé npm install @types/mssql pero fue en vano. La versión de mi nodo es v6.9.5 y estoy usando Angular 4.0.0. ¡Por favor ayuda!
Gracias de antemano.
Realmente no creo que lo que estás tratando de lograr aquí tenga ningún sentido. ¿No crees que sería un antipatrón usar esto en tu aplicación Angular? ¿Cómo se supone que debes distribuir esta aplicación y hacerla segura también?
Le sugiero que use mssql, en su proyecto NodeJS. Puede exponer las API desde allí que accederá desde su aplicación Angular. Ese es el propósito de un cliente después de todo.
Hacer esto hará que su código sea más manejable, mantenible y débilmente acoplado.
Espero que esto tenga sentido.